home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh -e
-
- # debconf
- . /usr/share/debconf/confmodule
- db_version 2.0
-
- CONFFILE="/etc/ufw/ufw.conf"
- USER_PATH="/var/lib/ufw"
- TEMPLATE_PATH="/usr/share/ufw"
-
- has_existing() {
- if [ ! -e "$USER_PATH/user.rules" ]; then
- return 1
- fi
-
- orig=`md5sum $TEMPLATE_PATH/user.rules | cut -d ' ' -f 1`
- orig_md5file="$TEMPLATE_PATH/user.rules.md5sum"
- user=`md5sum $USER_PATH/user.rules | cut -d ' ' -f 1`
- orig6=`md5sum $TEMPLATE_PATH/user6.rules | cut -d ' ' -f 1`
- orig6_md5file="$TEMPLATE_PATH/user6.rules.md5sum"
- user6=`md5sum $USER_PATH/user6.rules | cut -d ' ' -f 1`
-
- if [ "$orig" != "$user" ] && ! grep -q "$user" "$orig_md5file" 2>/dev/null ; then
- return 0
- elif [ "$orig6" != "$user6" ] && ! grep -q "$user6" "$orig6_md5file" 2>/dev/null ; then
- return 0
- else
- return 1
- fi
- }
-
- # If ufw is enabled (eg during an upgrade), then update debconf
- if [ -f "$CONFFILE" ]; then
- if egrep -q '^ENABLED=yes$' "$CONFFILE" ; then
- db_set ufw/enable true || true
- else
- db_set ufw/enable false || true
- fi
- fi
-
- db_get ufw/enable
- previous="$RET"
-
- db_input medium ufw/enable || true
- db_go
-
- db_get ufw/enable
- # only use existing_configuration/allow_known_ports if the user changed from
- # false to true
- if [ ! -z "$RET" ] && [ "$previous" = "false" ] && [ "$RET" = true ]; then
- if has_existing ; then
- # Can't reliably configure ports in an existing configuration
- db_text low ufw/existing_configuration || true
- db_go
- else
- db_input medium ufw/allow_known_ports || true
- db_go
- db_input low ufw/allow_custom_ports || true
- db_go
- fi
- fi
-
-